An Embedded System can be seen as an electronic processing system functionally integrated with another system. The latter, which can be called the Target System, typically is a mechanical system (or has at least some mechanical components or aspects), such as, for example a washing machine, a printing machine, a vehicle, an aeroplane, a manufacturing robot, or a medical diagnostic system. Therefore, the one (or more) Embedded Systems themselves become a component of said Target System, an aspect which is explained in Wolf, W. H. (2001); Computers as Components: Principles of Embedded Computing System Design; Morgan Kaufman; which is hereby included by reference. The design of Embedded Systems itself (which is hardware, software, firmware, a computer architecture, real-time, etc) is well researched and documented, for example in Marwedel, P. (2010); Embedded and cyber-physical systems in a nutshell; DAC.COM Knowledge Center Article; which is hereby included by reference. This includes even more current aspects given by the possibilities of connecting things to the Internet, which is, for example, described in “Cyber-Physical Systems” Lee, E. A. (2008); Cyber Physical Systems: Design Challenges; International Symposium on Object/Component/Service-Oriented Real-Time—ISORC 2008, which is hereby included by reference.
However, the field of how to integrate and how to interface between the Embedded System and the Target System still has many questions left open.
One of those open questions is how to deal with the different life-cycles of the one (or more) Embedded Systems and the Target System: Embedded Systems such as almost all electronics are driven by Moore's Law: In semiconductor technology, every 18 months, or so, semiconductor innovation brings a so-called node size shrink which allows to double the number of transistors on a chip, effectively doubling the functionality of what can be integrated on a semiconductor device. This innovation has made compact, functionality-rich, battery-operated devices such as smart phones, for example, possible. However, Moore's Law can also be seen as an economic law where the cost of a semiconductor device somewhat halves over 18 months. In our daily lives we are experiencing this when our personal computer (PC), or our mobile phone gets cheaper, every day.
This has some challenging implications: Most electronics have a short half-life and quickly become obsolete. So, unlike in some other industries (machining, automotive, aerospace, etc) things change at a rapid pace. This is an exponential effect, not just an over-linear one, which most humans have a hard time to deal with and it means that if a chip is too expensive for a certain application today, a successor chip most likely can enter such cost-driven markets next year.
On the other side, semiconductor industry is known to have a huge up-front engineering cost (so-called non-recurrent engineering—NRE): Today, to develop an integrated circuit device costs more than $50M. Semiconductor manufacturing (done in so-called “fabs”) requires a huge capital investment of multiple billion $s which depreciates over a short time, typically some years as the industry moves to bigger wafers and smaller transistor sizes. As a result, semiconductor industry highly favors customers who order now and in huge quantities of the same.
PCs digest a lot of semiconductor parts and ship around in 100M units per year. Mobile phones also need a lot of semiconductor parts, and ship in 1 B units per year. And then, there is an even bigger market which is estimated to be at 10 B units per year: The embedded and the consumer electronics market. Embedded means that a computer—as complex as it may be—is merely a component to an overall system; an important one for the functionality and/or value add but just one component. This embedded market is highly fragmented, and every application requires something totally different, plus it may have a short life-cycle. So, more and more systems need semiconductor parts in smaller and smaller individual quantities.
This mismatch becomes very obvious where an everyday consumer can see it: In automotive multimedia or PND where a brand-new car comes with already obsolete, or at least significantly aged electronics. This invention addresses these problems of Embedded Systems. Security is information security as applied to computers, embedded systems and networks, and means the collective processes and mechanisms by which sensitive and valuable information and services are protected from publication, tampering or collapse by unauthorized activities or untrustworthy individuals and unplanned events respectively.
Safety is the state of being safe, of being protected against consequences of failure, damage, error, accidents, harm. Functional Safety is freedom from unacceptable risk of physical injury or of damage to the health of people either directly or indirectly (through damage to property or to the environment). SIL is Safety Integrity Level and is defined as a relative level of risk-reduction provided by a safety function, or to specify a target level of risk reduction. In simple terms, SIL is a measurement of performance required for a safety instrumented function according to the European Functional Safety standards based on the IEC 61508 standard, as it is defined in David, S. and Kennath, S; (2004); Functional Safety, A Straightforward Guide to Applying IEC 61508 and Related Standards; Elsevier Butterworth-Heinemann, which is hereby included by reference, or in Alessandro, B. (2007); Reliability Engineering—Theory and Practice; Springer Verlag, which is hereby included by reference. ASIL is Automotive Safety Integrity Level, as it is defined in DIN/ISO 26262, which is hereby included by reference.
An Embedded System is a computer system designed for specific control functions within a larger system, typically with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts, as it is defined in Marwedel, P. (2010); Embedded and cyber-physical systems in a nutshell; DAC.COM Knowledge Center Article, which is hereby included by reference.
PCB is a Printed Circuit Board.
ECU is an Electronic Control Unit and is a generic term for any embedded system that controls one or more of the electrical systems or subsystems in a motor vehicle.
PLC is a Programmable Logic Controller and is a digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, amusement rides, or light fixtures.
IVI is In-Vehicle Infotainment and is an electronic product which combines multi-media, audio/video and personal navigation system integrated within a motor vehicle.
PND is a Personal Navigation Device which is a portable electronic product which combines a positioning capability (such as GPS) and navigation functions.
IFE is In-Flight Entertainment and is an electronic product which combines multi-media and audio/video and personal entertainment and is typically integrated in airplanes. IFEC is In-Flight Entertainment and Connectivity and is another term for IFE which also indicates Internet connectivity.
MMI is Man-Machine Interface, sometimes also known as User Interface for interaction between a (computing) machine and a human. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the machine which aids an operator in making operational decisions.
HMI is Human-Machine Interface, also known as MMI.
A Programmable Circuit is an integrated digital and/or analog circuit device which can be user-programmed without a manufacturing step, typically by uploading a configuration bit file into the device after power-up.
FPGA is a Field-Programmable Gate-Array, a special digital Programmable Circuit device.
FPAA is a Field-Programmable Analog-Array, a special analog Programmable Circuit device.
PLD is a Programmable Logic Device, another special Programmable Circuit device.
CPLD is a Complex Programmable Logic Device, another special Programmable Circuit device.
FSM is a Finite State Machine which can be implemented in a digital circuit.
CPU is a Central Processing Unit, typically a Von-Neumann data processing machine.
DSP is a Digital Signal Processor, a CPU highly optimized towards processing digital signal values.
ASIC is an Application Specific Integrated Circuit which is a digital, or mixed-signal, or analog integrated circuit optimized and built for a specific application.
ASSP is an Application-Specific Standard Processor which is an integrated digital circuit device which comprises one, or more, CPUs, plus application-specific circuitry.
Microcontroller is a digital and/or mixed-signal integrated circuit device which comprises one, or more, CPUs plus special-purpose peripherals and inputs/outputs.
SOC is a System-on-a-Chip which is a digital and/or mixed-signal integrated circuit device which comprises one, or more, CPUs, special-purpose peripherals, inputs/outputs, application-specific circuitry, memory, etc.
PSOC is a Programmable System-on-a-Chip, a SOC which is implemented using Programmable Circuits.
HW is Hardware, typically integrated circuits, and passive electronic components, combined on a PCB.
SW is Software, typically human and/or machine-readable code for execution by a data processing machine.
FW is Firmware, typically Hardware-dependent Software code.
HDL is Hardware Description Language which is a human and machine readable language typically used to describe the behavior, structure, concurrency, and/or timing of integrated digital, or analog, circuitry. Examples of HDL are VHDL, Verilog, SystemVerilog, SystemC, or C, or C++.
VHDL is VHSIC hardware description language which is the HDL specified and standardized, for example, by IEEE 1076-2008, which is hereby included by reference.
Verilog is the HDL specified and standardized for example, by IEEE 1364-2005, which is hereby included by reference.
SystemVerilog is the HDL specified and standardized, for example, by IEEE 1800-2009, which is hereby included by reference.
SystemC is the HDL specified and standardized, for example, by IEEE 1666-2005, which is hereby included by reference.
PLB is Processor Local Bus which is defined by IBM's CoreConnect on-chip architecture.
AXI is the Advanced eXtensible Interface which is part of the Advanced Microcontroller Bus Architecture (AMBA) defined by ARM Ltd.
MCU is a Memory Controller Unit. An MCU can, sometimes, also include a Memory Management Unit (MMU) which handles physical and virtual memory addressing.
RAM is Random Access Memory which typically is volatile digital storage, such as DDR2 RAM or DDR3 RAM or LPDDR RAM.
OS is Operating System which is Software code for resource, task, and user management of a data processing system.
Android is a Linux-based operating system for mobile devices such as smart-phones and tablet computers which is developed by the Open Handset Alliance led by Google.
Proxy is a Proxy Server which is a computer system or an application that acts as an intermediary for requests from clients seeking resources from other computer systems or applications.
Router is a device or an application that forwards data packets between computer networks, creating an overlay inter-network.
A Bridge applies a forwarding technique used in packet-switched computer networks and typically makes no assumptions about where in a network a particular address is located.
Filter is a data processing system which controls which content is permitted to a client.
Gateway is a networking node typically equipped for interfacing with another network that uses different protocols.
Firewall is a device or set of devices designed to permit or deny network transmissions based upon a set of rules and is frequently used to protect networks from unauthorized access while permitting legitimate communications to pass.
A Tunnel is using a networking protocol where one network protocol (the delivery protocol) encapsulates a different payload protocol, for example to carry a payload over an incompatible delivery-network, or to provide a secure path through an untrusted network.
GSM stands for Global System for Mobile Communications and is a standard set developed by the European Telecommunications Standards Institute to describe technologies for second generation digital cellular networks.
UMTS stands for Universal Mobile Telecommunications System and is a third generation mobile cellular technology for networks based on the GSM standard.
LTE stands for Long-Term Evolution and is a fourth generation mobile cellular technology for networks based on the GSM standard.
GPS is Global Positioning System which is a space-based satellite navigation system that provides location and time information in all weather, anywhere on or near the Earth.
CAN is Controller Area Network which is a vehicle bus standard ISO 11898 designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer.
MOST is Media Oriented Systems Transport which is a high-speed multimedia network technology optimized by the automotive industry.
Flexray is an automotive network communications protocol developed by the FlexRay Consortium, and which is currently being converted into an ISO standard.
LIN is Local Interconnect Network which is a vehicle bus standard or computer networking bus-system used within current automotive network architectures.
AFDX is Avionics Full-Duplex Switched Ethernet which is a data network for safety-critical applications that utilizes dedicated bandwidth while providing deterministic Quality of Service. AFDX is based on IEEE 802.3 Ethernet technology and is described specifically by the ARINC 664 specification.
SPI is Serial Peripheral Interface Bus which is a synchronous serial data link standard, named by Motorola, that operates in full duplex mode.
IIC is Inter-Integrated Circuit which is a multi-master serial single-ended computer bus invented by Philips that typically is used to attach low-speed peripherals.
GPIO is General Purpose Input/Output is generic pins on an integrated circuit whose behavior (including whether it is an input or output pin) can be controlled through software.
Ethernet is a family of computer networking technologies for local area networks and is standardized in IEEE 802.3.
EtherCat is Ethernet for Control Automation Technology which is an open high performance Ethernet-based field-bus system.
ProfiNET is the open industrial Ethernet standard of PROFIBUS & PROFINET International for automation.
Sercos is Serial Real-Time Communication System Interface which is a globally standardized open digital interface for the communication between industrial controls, motion devices (drives) and input output devices (I/O) and is classified as standard IEC 61491 and EN 61491.
TTCAN is Time-Triggered communication on CAN which is defined by the ISO 11898-4 standard. CANOpen is a communication protocol and device profile specification for embedded systems used in automation. The basic CANopen device and communication profiles are given in the CiA 301 specification released by CAN in Automation.
IO-Link is the industrial communication standard IEC 61131-9 to connect smart sensors and actuators.
UDP is User Datagram Protocol which is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet.
TCP/IP is Transmission Control Protocol/Internet Protocol is a descriptive framework for the Internet Protocol Suite of computer network protocols created in the 1970s by DARPA. TCP/IP has four abstraction layers and is defined in RFC 1122.
IPSec is Internet Protocol Security which is a protocol suite for securing Internet Protocol (IP) communications by authenticating and encrypting each IP packet of a communication session. IPSec also includes protocols for establishing mutual authentication between agents at the beginning of the session and negotiation of cryptographic keys to be used during the session.
RS232 is Recommended Standard 232 which is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE (Data Terminal Equipment) and a DCE (Data Circuit-terminating Equipment).
RS485 also known as EIA-485, also known as TIA/EIA-485 is a standard defining the electrical characteristics of drivers and receivers for use in balanced digital multi-point systems. This standard is published by the ANSI Telecommunications Industry Association/Electronic Industries Alliance (TINEIA).
USB is Universal Serial Bus which is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication and power supply between computers and electronic devices.
PATA is Parallel ATA which is an interface standard for the connection of storage devices such as hard disks, solid-state drives, floppy drives, and optical disc drives in computers.
SATA is Serial Advanced Technology Attachment which is a computer bus interface for connecting host bus adapters to mass storage devices such as hard disk drives and optical drives.
PCIe also known as PCI Express (Peripheral Component Interconnect Express) is a computer expansion bus standard maintained and developed by the PCI Special Interest Group.
WiFi is a mechanism that allows electronic devices to exchange data wirelessly over a computer network using the IEEE 802.11 family of standards.
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances, creating personal area networks with high levels of security, a standard which is maintained by the Bluetooth Special Interest Group.